cuando trato de barajar una matriz, TypeError: "cannot set properties of undefined (setting '10')" donde 10 es el valor de randomNmbrArr[0] . Tengo otras 2 funciones de las que copié este código que funcionan sin ningún problema. No puedo encontrar la diferencia entre el código de trabajo y la parte que no lo hace.
let nmr siempre registra un número válido entre el rango de 10 y 72. Pero por alguna razón randomNmbrArr[nmr] no está definido. ¿Algunas ideas?
pd: el código se ejecuta desde un módulo pero da el mismo error en el archivo principal. La matriz y la función se declaran antes de que se las llame de alguna manera.
código de trabajo:
let unicodeArr = []; for (let i = 0; i < 65537; i++) { unicodeArr.push(i); }; function randomNumber2() { let o = 0; let nmr2; while (++o < 65536) { nmr2 = Math.floor(Math.random() * (65536 + 1)); [unicodeArr[nmr2], unicodeArr[0]] = [unicodeArr[0], unicodeArr[nmr2]]; }; return unicodeArr[0]; };Código que no funciona:
let randomNmbrArr = []; for (let i = 10; i < 100; i++) { randomNmbrArr.push(i); } console.log(randomNmbrArr) function makeRandomNmbrs() { let k = 0; let nmr; while (++k < 62) { nmr = Math.floor(Math.random() * (62 + 1)) + 10; console.log(nmr); [randomNmbrArr[nmr], randomNmbrArr[0]] = [randomNmbrArr[0], randomNmbrArr[nmr]]; //TypeError at this line console.log(randomNmbrArr) } }